package com.gxw.www.myapp.utils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

import android.content.Context;
import android.util.Log;

import com.gxw.www.myapp.R;

public class SaveFlieUtil {

	private static final String TAG = SaveFlieUtil.class.getName().toString();

	/**
	 * 保存到本地txt文件
	 * 
	 * @param data
	 *            数据内容
	 * @param fileName
	 *            文件名
	 */
	public static void put(Context context, String data, String fileName) {
		try {

			String sdBase = android.os.Environment
					.getExternalStorageDirectory().toString();

			String appName = context.getResources()
					.getString(R.string.app_name);

			String filePath = sdBase + "/" + appName;

			isExist(filePath);

			// 以字节流的方式保存到所指定文件。[父类 OutputStream]
			// FileOutputStream outStream = new FileOutputStream(filePath
			// + fileName + ".txt", true);

			FileOutputStream outStream = new FileOutputStream(filePath + "/"
					+ fileName + ".txt", true);

			// 主要的类： in1, InputStream
			// 创建对象 InputStream in = System.in;
			// in2, InputStreamReader 没有readLine()方法
			// 主要方法：
			// read()读取单个字符，一个汉字也为一个字符。
			// read(char[] cbuf)将字符读入数组。
			// close().关闭此流和相关联资源。
			// in3, BufferedReader 有read(),readLine()方法。
			// out1, OutputStream
			// 创建对象 OutputStream in = System.out;
			// out2, OutputStreamWriter
			// 主要方法：
			// write(int c)//写入单个字符。
			// write(char[] cbuf,int off,int len)//写入数组的某一部分
			// write(String str,int off,int len)//写入字符串烦人某一部分。
			// flush();//刷新该流中的缓冲。
			// close();
			// out3, BufferedWriteer 有Write(int ch),newLine()方法。
			OutputStreamWriter writer = new OutputStreamWriter(outStream,
					"UTF-8");

			// 写入数据
			writer.write(data);
			writer.write("/n");
			writer.flush();
			writer.close();// 记得关闭

			outStream.close();
		} catch (Exception e) {
			Log.e(TAG, e.getMessage().toString());
		}
	}

	/**
	 * 
	 * @param path
	 *            文件夹路径
	 */
	public static void isExist(String path) {
		File file = new File(path);
		// 判断文件夹是否存在,如果不存在则创建文件夹
		if (!file.exists() || !file.isDirectory()) {
			file.mkdir();
		}
	}

}
